Un objet App DocumentObject, ou officiellement App::DocumentObject
, est la classe de base de toutes les classes d'objets gérées dans le document.
De manière générale, un "DocumentObject" est toute "chose" qui peut apparaître dans la vue en arborescence et qui est enregistrée et restaurée lors de l'ouverture d'un document.
Vue arborescente montrant différents objets dans le document. Chacun d'eux est un "document object", finalement dérivé de la classe App::DocumentObject
base.
Diagramme simplifié des relations entre les objets centraux dans Freecad
App DocumentObject est une classe interne, elle ne peut donc pas être créée à partir de l'interface graphique, ni destinée à être utilisée seule. Il définit simplement le comportement de base et les propriétés des objets dans le programme.
Certains des DocumentObjects les plus importants sont les suivants:
Voir Propriétés pour tous les types de propriétés que les objets crées par script peuvent avoir.
Ce sont les propriétés de base que possèdent essentiellement tous les objets. Ces propriétés sont accessibles depuis la console Python.
ExpressionEngine
) : une liste d'expressions.String
) : le nom modifiable par l'utilisateur de cet objet, il s'agit d'une chaîne UTF8 arbitraire. Par défaut, c'est la même chose que Name
.String
) : description plus longue et modifiable par l'utilisateur de cet objet, il s'agit d'une chaîne UTF8 arbitraire qui peut inclure des retours à la ligne. Par défaut, il s'agit d'une chaîne vide ""
.ExpressionEngine
) : une liste d'expressions.Bool
) : afficher ou non l'objet.Pour les objets dérivés, seul DonnéesLabel sera répertoriée par défaut dans l' éditeur de propriété. Les autres propriétés seront masquées.
Voir aussi : Débuter avec les scripts et Objets créés par script.
Voir Part Feature pour les informations générales sur l'ajout d'objets au document.
Un DocumentObject est créé avec la méthode addObject()
du document. Cependant, en général, il n'est pas nécessaire de créer cet objet manuellement. Il est généralement préférable de sous-classer l'une des sous-classes les plus complexes, par exemple, App FeaturePython, App GeoFeature, |Part Feature, Part Part2DObject, etc.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::DocumentObject", "Name")
obj.Label = "Custom label"